package com.sczmgk.track.utils;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;

import java.io.Serializable;

public class UIUtils {

    private static final int SELECT_AREA_CODE = 1;
    private static final String TAG = UIUtils.class.getSimpleName();

    /**
     * 跳转Activity
     *
     * @param context
     * @param clazz
     */
    public static void startActivity(Context context, Class<?> clazz) {
        Intent intent = new Intent(context, clazz);
        context.startActivity(intent);
    }

    /**
     * 跳转 Activity
     *
     * @param context
     * @param clazz
     * @param key     传递参数的key
     * @param value   传递的URL
     */
    public static void startActivity(Context context, Class<?> clazz,
                                     String key, String value) {
        Intent intent = new Intent(context, clazz);
        intent.putExtra(key, value);
        context.startActivity(intent);
    }

    /**
     * 跳转 Activity
     *
     * @param context
     * @param clazz
     * @param key     传递参数的key
     * @param value   传递的URL
     */
    public static void startActivity(Context context, Class<?> clazz,
                                     String key, int value) {
        Intent intent = new Intent(context, clazz);
        intent.putExtra(key, value);
        context.startActivity(intent);
    }

    /**
     * 跳转Activity
     *
     * @param context
     * @param clazz
     * @param key
     * @param value
     * @param type
     * @param typeValue
     */
    public static void startActivity(Context context, Class<?> clazz,
                                     String key, String value, String type, String typeValue) {
        Intent intent = new Intent(context, clazz);
        intent.putExtra(key, value);
        intent.putExtra(type, typeValue);
        context.startActivity(intent);
    }

    /**
     * 跳转Activity
     *
     * @param context
     * @param clazz
     * @param key
     * @param value
     * @param type
     * @param typeValue
     */
    public static void startActivity(Context context, Class<?> clazz,
                                     String key, String value, String type, int typeValue, String key1, int value1) {
        Intent intent = new Intent(context, clazz);
        intent.putExtra(key, value);
        intent.putExtra(type, typeValue);
        intent.putExtra(key1, value1);
        context.startActivity(intent);
    }

    /**
     * 跳转Activity
     *
     * @param context
     * @param clazz
     * @param key
     * @param value
     * @param type
     * @param typeValue
     */
    public static void startActivity(Context context, Class<?> clazz,
                                     String key, String value, String type, int typeValue) {

        Intent intent = new Intent(context, clazz);
        intent.putExtra(key, value);
        intent.putExtra(type, typeValue);
        context.startActivity(intent);
    }

    /**
     * 带序列化的对象
     *
     * @param context
     * @param clazz
     * @param key
     * @param value
     */
    public static void startActivity(Context context, Class<?> clazz,
                                     String key, Serializable value) {

        Intent intent = new Intent(context, clazz);
        intent.putExtra(key, value);
        context.startActivity(intent);
    }

    /**
     * 带序列化的对象
     *
     * @param context
     * @param clazz
     * @param typeKey
     * @param typeValue
     * @param key
     * @param value
     */
    public static void startActivity(Context context, Class<?> clazz, String typeKey, int typeValue,
                                     String key, Serializable value) {

        Intent intent = new Intent(context, clazz);
        intent.putExtra(key, value);
        intent.putExtra(typeKey, typeValue);
        context.startActivity(intent);
    }

    public static void startActivityForResult(Activity fromActivity, Class<?> toClass, int requestCode) {
        Intent intent = new Intent(fromActivity, toClass);
        fromActivity.startActivityForResult(intent, requestCode);
    }
}
